package com.paic.mhis.hcpms.evaluation.evaluationOrg.orgReview.biz.service;

import java.util.List;
import java.util.Map;

import com.paic.mhis.core.auth.biz.service.UserDetails;
import com.paic.mhis.hcpms.evaluation.evaluationOrg.evaluationIntegrity.dto.EvaluationMarkContentDTO;
import com.paic.mhis.hcpms.evaluation.evaluationOrg.evaluationIntegrity.dto.IntegrityEvalDTO;
import com.paic.mhis.hcpms.evaluation.evaluationOrg.orgReview.dto.MessageInfoDTO;
import com.paic.mhis.hcpms.evaluation.evaluationOrg.orgReview.dto.OrgEvaluationOpinionDTO;
import com.paic.mhis.hcpms.evaluation.evaluationOrg.orgReview.dto.OrgFinishConfirmDTO;
import com.paic.mhis.hcpms.evaluation.evaluationOrg.orgReview.dto.OrgReviewComfirmDTO;

/**
 * 
 * @author EX-LUORONG001
 * 
 */
public interface OrgApproveService {
	public OrgEvaluationOpinionDTO getEvaluatonOpinionDTO(OrgEvaluationOpinionDTO bean);

	public OrgEvaluationOpinionDTO getEvaluationOpinionInfoByIsValid(OrgEvaluationOpinionDTO bean);

	public MessageInfoDTO processEvaluationApproveInfo(String evalChildId, String opinion, String opinionDesc,
			String evaluationCode, UserDetails user) throws Exception;

	public List<OrgReviewComfirmDTO> processLoadEvalInfo(String evalId, UserDetails user);

	public List<EvaluationMarkContentDTO> loadMarkContentDTOByRuleId(String ruleId, String evalChildId, UserDetails user);

	public IntegrityEvalDTO getIntegrityEvalDTOByTypeAndID(String evaluationCode, UserDetails user);

	public List<OrgFinishConfirmDTO> loadEvaluationFinishInfo(String evaluationCode, UserDetails user);

	/**
	 * 审批 批量提交
	 * 
	 * @param auditOpinion
	 * @param auditDesc
	 * @param list
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public Map<String, Object> approveBatchSumit(String auditOpinion, String auditDesc, List<String> list,
			UserDetails user) throws Exception;

	// 机构诚信审批撤销
	public boolean cancelMedialIntegrityApprove(Map<String, Object> map) throws Exception;

}
